"""
@Project ：python
@File    ：04-Python模块.py
@IDE     ：PyCharm
@Author  ：DongCha
@Date    ：2024/4/6 006 16:23
"""

# 模块，是一个 Python文件，以 .py 结尾，模块能定义函数，类和变量，模块里也能包含可执行的代码
# 作用：python中有很多不同的模块，每一个模块都可以帮助我们快速实现一些功能，比如事件相关的可以使用 time 模块
# 还可以认为一个模块就是一个工具包，每个工具包中都有各种不同的工具供我们使用进而实现不同的功能

# 导入内置模块

# 模块在使用前需要先导入 语法如下：
# [from 模块名] import [模块 | 类 | 变量 | 函数 | *] [as 别名]
# 常用的组合形式：
# import 模块名
# from 模块名 import 类、变量、方法等
# from 模块名 import *
# import 模块名 as 别名
# from 模块名 import 功能名 as 别名

# 基本语法：
# import 模块名
# import 模块名1, 模块名2
# 模块名.功能名

# # 导入 time 模块
# import time
#
# print("开始")
# # 让程序阻塞一秒
# time.sleep(1)
# print("结束")

# form 模块名 import 功能名
# from time import sleep
# print("开始")
# # 让程序阻塞一秒
# sleep(1)
# print("结束")

# 使用 * 导入 time 模块的全部功能
# from time import *
#
# print("开始")
# # 让程序阻塞一秒
# sleep(1)
# print("结束")

# as 别名

# 模块定义别名：r
# import 模块名 as 别名
# import time as tt
#
# tt.sleep(2)
# print("Hello")

# 功能定义别名：
# from 模块名 import 功能 as 别名
# from time import sleep as sl
#
# sl(2)
# print("hello")

# 导入自定义模块

# 自定义模块只需要新建一个 .py 文件，然后定义相关函数即可
import my_module1
import modules.my_module2

my_module1.test(10, 20)
modules.my_module2.test(10, 20)

# 当导入的多个模块内有同名功能时，调用的是最后一个模块中的功能
from my_module1 import test
from modules.my_module2 import test

test(20, 30)
